<html>
<head><meta charset="utf-8"><title>Visualization tool · t-compiler/wg-polonius · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/index.html">t-compiler/wg-polonius</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html">Visualization tool</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="247718218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718218">(Jul 30 2021 at 14:53)</a>:</h4>
<p>Well, to begin I think the "better visualisations" is a good place to start</p>



<a name="247718239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718239">(Jul 30 2021 at 14:53)</a>:</h4>
<p>that would be great, too!</p>



<a name="247718243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718243">(Jul 30 2021 at 14:53)</a>:</h4>
<p>I could work on dumping them I guess</p>



<a name="247718255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718255">(Jul 30 2021 at 14:53)</a>:</h4>
<p>I'm sure that would pay off handsomely</p>



<a name="247718266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718266">(Jul 30 2021 at 14:53)</a>:</h4>
<p>if we get something nice</p>



<a name="247718331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718331">(Jul 30 2021 at 14:53)</a>:</h4>
<p>Well the problem is that we generate so many facts visualising them all creates so much clutter it's impossible to see anything</p>



<a name="247718332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718332">(Jul 30 2021 at 14:53)</a>:</h4>
<p>we need to emit move errors from rustc, to be able to debug the move/init analysis. I feel Amanda had a branch doing that last time, and was testing with the UI tests at the time. but there were some that didn't work</p>



<a name="247718397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718397">(Jul 30 2021 at 14:54)</a>:</h4>
<p>Yes, that's correct</p>



<a name="247718412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718412">(Jul 30 2021 at 14:54)</a>:</h4>
<p>Maybe I can go back and look at that</p>



<a name="247718428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718428">(Jul 30 2021 at 14:54)</a>:</h4>
<p>Hopefully I still have that branch somewhere</p>



<a name="247718512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718512">(Jul 30 2021 at 14:55)</a>:</h4>
<p>let's see</p>



<a name="247718536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718536">(Jul 30 2021 at 14:55)</a>:</h4>
<p>maybe you're going to need better tools at IMEA, and that would also help others</p>



<a name="247718550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718550">(Jul 30 2021 at 14:55)</a>:</h4>
<p>so the viz/debugging would also be worthwhile</p>



<a name="247718557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718557">(Jul 30 2021 at 14:55)</a>:</h4>
<p>That's precisely what I though</p>



<a name="247718561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718561">(Jul 30 2021 at 14:55)</a>:</h4>
<p>probably more so than move/init wdyt?</p>



<a name="247718632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718632">(Jul 30 2021 at 14:56)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Polonius.20Hackathon.202021-07-30/near/247718331">said</a>:</p>
<blockquote>
<p>Well the problem is that we generate so many facts visualising them all creates so much clutter it's impossible to see anything</p>
</blockquote>
<p>Does the compiler have <code>serde</code> (or something else for parsing JSON) in its dependencies? One idea would be to have a command-line option that takes a JSON string that tells how to visualise stuff.</p>



<a name="247718650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718650">(Jul 30 2021 at 14:56)</a>:</h4>
<p>Well I think what they'd need the most from me is someone with compiler internals experience, and refreshing that is my main focus</p>



<a name="247718675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718675">(Jul 30 2021 at 14:56)</a>:</h4>
<p>But both tasks would do that</p>



<a name="247718734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718734">(Jul 30 2021 at 14:57)</a>:</h4>
<p>I still like my idea of over-dumping data and then having an extra tool to process it and visualise it</p>



<a name="247718773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247718773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247718773">(Jul 30 2021 at 14:57)</a>:</h4>
<p>That keeps the compiler less cluttered (at the expense of introducing a tool of course)</p>



<a name="247719001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247719001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247719001">(Jul 30 2021 at 14:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116109">@Vytautas Astrauskas [he/him]</span> Do you see some problem with this I don't?</p>



<a name="247719332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247719332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247719332">(Jul 30 2021 at 15:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Polonius.20Hackathon.202021-07-30/near/247719001">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> Do you see some problem with this I don't?</p>
</blockquote>
<p>I think you will have to find a way how to store MIR to a file, which may be a problem.</p>



<a name="247719484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247719484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247719484">(Jul 30 2021 at 15:02)</a>:</h4>
<p>If you do not want to make the compiler cluttered, I think an easier option would be to have a custom driver that queries the compiler.</p>



<a name="247719542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247719542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247719542">(Jul 30 2021 at 15:03)</a>:</h4>
<p>However, then you have to maintain it…</p>



<a name="247719767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247719767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247719767">(Jul 30 2021 at 15:04)</a>:</h4>
<p>But with your PR all polonius facts are accessible from a driver right?</p>



<a name="247720066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247720066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247720066">(Jul 30 2021 at 15:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Polonius.20Hackathon.202021-07-30/near/247719767">said</a>:</p>
<blockquote>
<p>But with your PR all polonius facts are accessible from a driver right?</p>
</blockquote>
<p>Yes.</p>



<a name="247720170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247720170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247720170">(Jul 30 2021 at 15:07)</a>:</h4>
<p>So, the approach that uses my PR should work quite nicely. The only problem is that every time someone makes a breaking change in the compiler, you have to update the visualisation tool.</p>



<a name="247720739"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247720739" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247720739">(Jul 30 2021 at 15:11)</a>:</h4>
<p>so <span class="user-mention" data-user-id="204115">@Amanda Stjerna</span> you are going to look into a visualizaation tool?</p>



<a name="247720752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247720752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247720752">(Jul 30 2021 at 15:11)</a>:</h4>
<p>By the way, do you have a plan for how to do a visualisation?</p>



<a name="247720762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247720762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247720762">(Jul 30 2021 at 15:11)</a>:</h4>
<p>I'm going to break this topic out</p>



<a name="247721210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721210">(Jul 30 2021 at 15:13)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247720752">said</a>:</p>
<blockquote>
<p>By the way, do you have a plan for how to do a visualisation?</p>
</blockquote>
<p>Not precisely, if you mean in terms of what to visualize. My idea was sort of to start with showing an annotated boxed MIR diagram</p>



<a name="247721249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721249">(Jul 30 2021 at 15:13)</a>:</h4>
<p>But it would be nice to also have that run Polonius and add Polonius results</p>



<a name="247721333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721333">(Jul 30 2021 at 15:14)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247720739">said</a>:</p>
<blockquote>
<p>so <span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> you are going to look into a visualizaation tool?</p>
</blockquote>
<p>I think that's probably best</p>



<a name="247721343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721343">(Jul 30 2021 at 15:14)</a>:</h4>
<p>It's also what I think would be the most fun</p>



<a name="247721374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721374">(Jul 30 2021 at 15:14)</a>:</h4>
<p>And I think fun is important at this stage since I'm doing this on my vacation :)</p>



<a name="247721461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721461">(Jul 30 2021 at 15:15)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247720170">said</a>:</p>
<blockquote>
<p>So, the approach that uses my PR should work quite nicely. The only problem is that every time someone makes a breaking change in the compiler, you have to update the visualisation tool.</p>
</blockquote>
<p>I still think this sounds like a nice idea</p>



<a name="247721514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721514">(Jul 30 2021 at 15:15)</a>:</h4>
<p>Especially since I think my internship project would do something similar, so it would be useful to know how to do that</p>



<a name="247721525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721525">(Jul 30 2021 at 15:15)</a>:</h4>
<p>So, what we have in Prusti (it is a bit broken now) is generation of dot files that show for each statement Polonius facts.</p>



<a name="247721531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721531">(Jul 30 2021 at 15:15)</a>:</h4>
<p>what is your experience about these visualizations ? I find that they are super cool and useful, but mostly for small cases. I almost always need the full MIR dump next to it, to the point that I was actually thinking having the polonius facts embedded in the dump-mir=nll output would be nice.</p>



<a name="247721712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721712">(Jul 30 2021 at 15:17)</a>:</h4>
<p>This all really points towards an interactive tool at some point, where you can enable/disable certain views</p>



<a name="247721798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247721798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247721798">(Jul 30 2021 at 15:17)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247721531">said</a>:</p>
<blockquote>
<p>what is your experience about these visualizations ? I find that they are super cool and useful, but mostly for small cases. I almost always need the full MIR dump next to it, to the point that I was actually thinking having the polonius facts embedded in the dump-mir=nll output would be nice.</p>
</blockquote>
<p>In Prusti, we have a bunch of flags that control which facts to show. Typically, at the beginning, I show only the ones I care about and then once I found the location I care about, I enable other columns to dig deeper into it.</p>



<a name="247722024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247722024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247722024">(Jul 30 2021 at 15:19)</a>:</h4>
<p>interesting</p>



<a name="247722247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247722247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247722247">(Jul 30 2021 at 15:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116109">@Vytautas Astrauskas [he/him]</span> about that PR btw, we plan on polonius taking ownership of the input facts, for some weird reason it's not doing that, and we have to clone a lot. So if I understand correctly, after your PR lands, to do this one'd just have to clone the input facts when your "give me the body and facts" boolean is true, and that'd be it ?</p>



<a name="247722429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247722429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247722429">(Jul 30 2021 at 15:22)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247721712">said</a>:</p>
<blockquote>
<p>This all really points towards an interactive tool at some point, where you can enable/disable certain views</p>
</blockquote>
<p>I think one option for a visualisation tool would be to have a VS code plugin that shows a graphviz view in a side pane and in the background reruns the Rust compiler to obtain the visualisation that the user requested. Doing it in VS Code would allow you, for example, to click on a line in the Rust program and highlight the corresponding MIR block in the visualisation.</p>



<a name="247722534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247722534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247722534">(Jul 30 2021 at 15:23)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247722247">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> about that PR btw, we plan on polonius taking ownership of the input facts, for some weird reason it's not doing that, and we have to clone a lot. So if I understand correctly, after your PR lands, to do this one'd just have to clone the input facts when your "give me the body and facts" boolean is true, and that'd be it ?</p>
</blockquote>
<p>Yes, that sounds correct.</p>



<a name="247722657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247722657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247722657">(Jul 30 2021 at 15:24)</a>:</h4>
<p>Something like that was what I had in mind eventually, plus some switches for showing and hiding various facts as desired</p>



<a name="247722737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247722737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247722737">(Jul 30 2021 at 15:24)</a>:</h4>
<p>But I guess a good MVP is something that just calls rustc, gets the facts, and outputs a dotfile</p>



<a name="247723014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723014">(Jul 30 2021 at 15:27)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247722737">said</a>:</p>
<blockquote>
<p>But I guess a good MVP is something that just calls rustc, gets the facts, and outputs a dotfile</p>
</blockquote>
<p>Yes. A starting point for this could be <a href="https://github.com/rust-lang/rust/pull/86977/files#diff-5395549c3acc558af51147d15c04dba6e69fbbfa4ef54cdba039e445d1928e6b">the test</a> from my PR.</p>



<a name="247723144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723144">(Jul 30 2021 at 15:28)</a>:</h4>
<p>We can throw away the <code>thread_local!</code> stuff and do dumping in the overridden <code>mir_borrowck</code>.</p>



<a name="247723204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723204">(Jul 30 2021 at 15:28)</a>:</h4>
<p>Thanks! I would have had a hard time figuring out those nuances myself.</p>



<a name="247723487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723487">(Jul 30 2021 at 15:30)</a>:</h4>
<p>For configuration, Prusti uses a <a href="https://github.com/viperproject/prusti-dev/blob/cefdb5eba35f2e8216251d5999f24810f185a0b2/prusti-common/src/config.rs#L60-L63"><code>lazy_static</code></a>, so I guess the same approach could be taken here to configure stuff like output folder for dot files.</p>



<a name="247723526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723526">(Jul 30 2021 at 15:31)</a>:</h4>
<p>And which information to show.</p>



<a name="247723825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723825">(Jul 30 2021 at 15:33)</a>:</h4>
<p>And this is a very hacky code that produces a dot file: <a href="https://github.com/viperproject/prusti-dev/blob/master/prusti-interface/src/environment/dump_borrowck_info.rs">https://github.com/viperproject/prusti-dev/blob/master/prusti-interface/src/environment/dump_borrowck_info.rs</a></p>



<a name="247723985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247723985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247723985">(Jul 30 2021 at 15:35)</a>:</h4>
<p>It uses a bunch of boolean flags that indicate whether to show or not some column.</p>



<a name="247724059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247724059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247724059">(Jul 30 2021 at 15:35)</a>:</h4>
<p>I think that a better solution would be to ask the user to provide a sequence <code>columns</code> that determines which columns to show and in which order.</p>



<a name="247724179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247724179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247724179">(Jul 30 2021 at 15:36)</a>:</h4>
<p>It should not be much more difficult to implement and would make it easier to integrate into the final visualisation tool.</p>



<a name="247725527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247725527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247725527">(Jul 30 2021 at 15:47)</a>:</h4>
<p>That sounds like a good idea yes!</p>



<a name="247725646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247725646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247725646">(Jul 30 2021 at 15:48)</a>:</h4>
<p>Feel free to steal code from Prusti and if you have any questions let me know <span aria-label="smiling face" class="emoji emoji-263a" role="img" title="smiling face">:smiling_face:</span>.</p>



<a name="247739779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247739779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247739779">(Jul 30 2021 at 17:42)</a>:</h4>
<p><span class="user-mention" data-user-id="204115">@Amanda Stjerna</span> is everything going ok for you as well ? :) do you need help with anything ?</p>



<a name="247748285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247748285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247748285">(Jul 30 2021 at 18:56)</a>:</h4>
<p>Not currently, unless you've got a teleport and a time machine and can puppy sit :)</p>



<a name="247748296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247748296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247748296">(Jul 30 2021 at 18:56)</a>:</h4>
<p>But thanks!</p>



<a name="247748362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247748362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247748362">(Jul 30 2021 at 18:57)</a>:</h4>
<p>I got a great start from <span class="user-mention" data-user-id="116109">@Vytautas Astrauskas [he/him]</span>, who had frankly done most of the difficult work</p>



<a name="247749850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247749850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247749850">(Jul 30 2021 at 19:12)</a>:</h4>
<p>Hopefully, what is left is the interesting part <span aria-label="smiling face" class="emoji emoji-263a" role="img" title="smiling face">:smiling_face:</span>.</p>



<a name="247751680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247751680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247751680">(Jul 30 2021 at 19:30)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247725646">said</a>:</p>
<blockquote>
<p>Feel free to steal code from Prusti and if you have any questions let me know <span aria-label="smiling face" class="emoji emoji-263a" role="img" title="smiling face">:smiling_face:</span>.</p>
</blockquote>
<p>I haven't used the compiler interfaces before and I'm not sure how to proceed. Your test code uses <code>rustc_driver</code> and <code>rustc_hir</code> which don't seem to come with the private APIs. Is there a way to turn those on or do I have to work around that somehow?</p>



<a name="247753569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247753569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247753569">(Jul 30 2021 at 19:49)</a>:</h4>
<p>You need to use nightly rustc and install the rustc-dev and llvm-tools-preview rustup components.</p>



<a name="247753684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247753684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247753684">(Jul 30 2021 at 19:50)</a>:</h4>
<p>It seems that the rust-toolchain of the prusti-dev repo does install it already though.</p>



<a name="247790632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247790632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247790632">(Jul 31 2021 at 07:11)</a>:</h4>
<p>Bors failed, so you still need to manually build my PR and have fun with manually setting up the toolchain.</p>



<a name="247790642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247790642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247790642">(Jul 31 2021 at 07:11)</a>:</h4>
<p>By the way, do you have by any chance a Windows machine? (Debugging Windows build failures on Linux is a bit complicated…)</p>



<a name="247801175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247801175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247801175">(Jul 31 2021 at 12:12)</a>:</h4>
<p>No, I'm on a mac</p>



<a name="247801198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247801198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247801198">(Jul 31 2021 at 12:13)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133247">bjorn3</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247753569">said</a>:</p>
<blockquote>
<p>You need to use nightly rustc and install <strong>the rustc-dev and llvm-tools-preview</strong> rustup components.</p>
</blockquote>
<p>A-ha! Missed the last one I think.</p>



<a name="247801557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247801557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247801557">(Jul 31 2021 at 12:22)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247790632">said</a>:</p>
<blockquote>
<p>Bors failed, so you still need to manually build my PR and have fun with manually setting up the toolchain.</p>
</blockquote>
<p>Does using the components complicate this or is it the same as before, ie build stages 1 and 2, then rustup add and then add the components using rustup +mytoolchain etc?</p>



<a name="247810637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/Visualization%20tool/near/247810637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/Visualization.20tool.html#247810637">(Jul 31 2021 at 15:55)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Amanda Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247801557">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116109">Vytautas Astrauskas [he/him]</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/Visualization.20tool/near/247790632">said</a>:</p>
<blockquote>
<p>Bors failed, so you still need to manually build my PR and have fun with manually setting up the toolchain.</p>
</blockquote>
<p>Does using the components complicate this or is it the same as before, ie build stages 1 and 2, then rustup add and then add the components using rustup +mytoolchain etc?</p>
</blockquote>
<p>It seems to complicate stuff (or I am missing something). I think I had problems with cargo not knowing which rust to call.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>